package com.vallis.lotteryonline.calcutil.lotto.beforecalc;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author guozh
 * @Classname PrepareForLotto
 * @Description 大乐透的专属 数据检测类
 * 负责检测：
 * 大乐透前区是否符合规则
 *      数字在1-35范围内
 *      标准String[]形式
 *      不得重复
 *      升序
 * 大乐透后去是否符合规则
 *      数字在1-12范围内
 *      标准String[]形式
 *      不得重复
 *      升序
 *
 * @Date 2020/7/19 17:41
 * @Created by vallis
 */
public  interface PrepareForLotto   {

    /**
     *
     * 未检查⭐⭐⭐⭐⭐⭐
     * 大乐透前区正则
     *       数字在1-35范围内
     *
     *
     *
     * @param frontNum
     * @return
     */
    static boolean judgeFrontData(String frontNum) {

        String regExNum = "[1-35]\\d*";

        return checkNum(frontNum, regExNum);
    }

    /**
     * 大乐透后区正则
     * 1-12的正整数
     * @param endNum
     * @return
     */
    static boolean judgeEndData(String endNum) {

        String regExNum = "[1-12]\\d*";

        return checkNum(endNum, regExNum);
    }

    /**
     * 判断是否包含中文字符
     * @param endNum
     * @param regExNum
     * @return
     */
    static boolean checkNum(String endNum, String regExNum) {
        String regExWord="[\\u4E00-\\u9FA5|\\\\！|\\\\，|\\\\。|\\\\（|\\\\）|\\\\《|\\\\》|\\\\“|\\\\”|\\\\？|\\\\：|\\\\；|\\\\【|\\\\】]";
        Pattern p1 = Pattern.compile(regExNum);
        Matcher m1 = p1.matcher(endNum);
        Pattern p2= Pattern.compile(regExWord);
        Matcher m2 = p2.matcher(endNum);
        System.out.println(m1.find());
        System.out.println(m2.find());
        return m1.find()&&m2.find();
    }

    /**
     * 将String 转换成数组
     * @param frontNum
     * @return
     */
    static String[] changeToFront(String frontNum) {

        return frontNum.split(",");
    }

    /**
     * 将String转换为String[]
     * @param endNum
     * @return
     */
    static String[] changeToEnd(String endNum) {
        return endNum.split(",");
    }
}
